home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Apple WWDC 1996
/
WWDC96_1996 (CD).toast
/
Technology Materials
/
MacOS 8 Resources
/
Developer Tools
/
Mac OS 8 Interfaces & Libraries
/
Interfaces
/
CIncludes
/
PointingPlugin.h
< prev
next >
Wrap
C/C++ Source or Header
|
1996-05-01
|
3KB
|
96 lines
/*
File: PointingPlugin.h
Contains: Interface for Pointer Family Plugins
Version: Technology: Copland
Release: Universal Interfaces 3.0d3 on Copland DR1
Copyright: © 1984-1996 by Apple Computer, Inc. All rights reserved.
Bugs?: If you find a problem with this file, send the file and version
information (from above) and the problem description to:
Internet: apple.bugs@applelink.apple.com
AppleLink: APPLE.BUGS
*/
#ifndef __POINTINGPLUGIN__
#define __POINTINGPLUGIN__
#ifndef __NAMEREGISTRY__
#include <NameRegistry.h>
#endif
#ifndef __POINTING__
#include <Pointing.h>
#endif
#ifndef __TYPES__
#include <Types.h>
#endif
#ifdef __cplusplus
extern "C" {
#endif
#if PRAGMA_IMPORT_SUPPORTED
#pragma import on
#endif
#if PRAGMA_ALIGN_SUPPORTED
#pragma options align=mac68k
#endif
#if FOR_SYSTEM8_PREEMPTIVE
/**************** Calls Implemented By Plugins ****************/
typedef OSStatus (*PTPluginValidateHardwarePtr)(RegEntryRef *device, Boolean *isMyDevice);
typedef OSStatus (*PTPluginInitializePtr)(RegEntryRef *mouseRegistryEntryPtr, PTDeviceCapabilities *mouseCapabilities, PTDeviceIdentifier *mouseIdentification);
typedef OSStatus (*PTPluginTerminatePtr)(void);
typedef OSStatus (*PTPluginStartIOPtr)(void);
typedef OSStatus (*PTPluginStopIOPtr)(void);
typedef OSStatus (*PTPluginGetNextDataPtr)(PTData *theMouseData);
typedef OSStatus (*PTPluginGetDeviceModesPtr)(ByteCount offset, ByteCount numBytes, PTDeviceModes *modes);
typedef OSStatus (*PTPluginSetDeviceModesPtr)(ByteCount offset, ByteCount numBytes, PTDeviceModes *modes);
enum {
kCoplandPTPluginVersion = 0x00000001
};
struct PTPluginHeader {
UInt32 version; /* version of the plugin interface*/
UInt32 reserved1;
UInt32 reserved2;
UInt32 reserved3;
};
typedef struct PTPluginHeader PTPluginHeader;
struct PTDeviceDispatchTable {
PTPluginHeader header;
PTPluginValidateHardwarePtr PTPluginValidateHardware;
PTPluginInitializePtr PTPluginInitialize;
PTPluginTerminatePtr PTPluginTerminate;
PTPluginStartIOPtr PTPluginStartIO;
PTPluginStopIOPtr PTPluginStopIO;
PTPluginGetNextDataPtr PTPluginGetNextData;
PTPluginGetDeviceModesPtr PTPluginGetDeviceModes;
PTPluginSetDeviceModesPtr PTPluginSetDeviceModes;
};
typedef struct PTDeviceDispatchTable PTDeviceDispatchTable;
typedef PTDeviceDispatchTable *PTDeviceDispatchTablePtr;
#endif
#if PRAGMA_ALIGN_SUPPORTED
#pragma options align=reset
#endif
#if PRAGMA_IMPORT_SUPPORTED
#pragma import off
#endif
#ifdef __cplusplus
}
#endif
#endif /* __POINTINGPLUGIN__ */